local cspell = require("core.packages.null-ls.cspell")
local extras = require("core.packages.null-ls.extras")

local helper = {}

function helper.load()
    extras.expand_builtins()
    helper.register_maps()

    local sources = {}
    
    -- 检查cspell命令是否存在，如果存在才加载cspell源
    local handle = io.popen("where cspell 2>nul")
    local result = handle:read("*a")
    handle:close()
    
    if result ~= "" then
        local cspell_source = cspell.load()
        -- 确保cspell_source是一个有效的源而不是空表
        if cspell_source and not vim.tbl_isempty(cspell_source) then
            table.insert(sources, cspell_source)
        end
    end
    
    return sources
end

function helper.register_maps()
    cspell.register_maps()
end

return helper
